﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Talento21.Modelo;

namespace Talento21.Negocio.Servicio
{
    public class SrvEvaluador
    {

        SysGestion21Entities db;

        public SrvEvaluador()
            : this(new SysGestion21Entities())
        {

        }

        public SrvEvaluador(SysGestion21Entities context)
        {
            db = context;
        }

        public void Crear(InfEvaluadoresEmp evaluador)
        {
            db.AddToInfEvaluadoresEmp(evaluador);
            db.SaveChanges();
        }

        public List<InfEvaluadoresEmp> ObtenerEvaluadores(int rutEmpresa)
        {
            return (from eval in db.InfEvaluadoresEmp where eval.InfPersonas.Emp_rut == rutEmpresa select eval).ToList();
        }



        internal void Eliminar(InfEvaluadoresEmp infEvaluadoresEmp)
        {
            var persona = db.InfEvaluadoresEmp.Where(x => x.Id_Persona == infEvaluadoresEmp.Id_Persona).First();
            db.DeleteObject(persona);
            db.SaveChanges();

        }

        public List<InfPersonas> ObtenerTrabajadoresSinEvaluador(int rutEmpresa, int idEvaludaor)
        {
            return (from per in db.InfPersonas
                           where per.Emp_rut == rutEmpresa
                           && per.InfPersonaEvaluador.Count() == 0 select per).ToList();
                           

            
        }

        internal InfEvaluadoresEmp ObtenerEvaluador(int idEval)
        {
            return (from evaluador in db.InfEvaluadoresEmp where evaluador.Id_Evaluador == idEval select evaluador).SingleOrDefault();                

        }
    }
}